﻿using System;

namespace Borg
{
    public interface IDispatcherOperation
    {
        DispatcherOperationStatus Status { get; }
        object Result { get; }
        Exception UnhandledException { get; }

        event EventHandler Finished;

        DispatcherOperationStatus Wait(int millisTimeout);
        DispatcherOperationStatus Wait();

        void Abort();
    }
}
